/*
 * ColumnCellRendererPropertiesDisponibleColumnValues.java
 * Copyright 2010 Universidad Francisco de Paula Santander (UFPS).
 * Todos los Derechos Reservados.
 * Creado el 18/04/2010, 11:22:10 PM
 */


package com.ufps.cuatro.util.render;

import com.ufps.cuatro.util.Utileria;
import com.ufps.cuatro.util.model.MyCheckItemPropertiesClass;
import java.awt.Color;
import java.awt.Component;
import java.io.Serializable;

import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

/**
 * <i><b>ColumnCellRendererPropertiesDisponibleColumnValues:</b></i> @DefinicionClase
 * @author Carlos A. Torres C. - Dolly E. Guerrero. <https://code.google.com/p/tesis4dor/>
 * @version 1.0 18/04/2010
 * @see TableCellRenderer
 * @see Serializable
 * @see JComponent
 */
public class ColumnCellRendererClassColumnProperties extends JComponent implements TableCellRenderer, Serializable {
    private static final long serialVersionUID = -2735604478900137909L;
    
    /**
     * Constructor por defecto
     */
    public ColumnCellRendererClassColumnProperties() {            
    }    

    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        
        if(value instanceof MyCheckItemPropertiesClass){
            MyCheckItemPropertiesClass objPropiedad = (MyCheckItemPropertiesClass) value;
            if(objPropiedad.getObjMethod() != null){
                return setIcono(Utileria.ICONO_METODO, objPropiedad.getObjMethod().getName(), objPropiedad.isSelected());
            }
            else if(objPropiedad.getObjField() != null){
                return setIcono(Utileria.ICONO_METODO, objPropiedad.getObjField().getName(), objPropiedad.isSelected());
            }
            
        }
        
        JLabel objLbl = new JLabel();
        objLbl.setToolTipText("Propiedad sin Asignar");
        return objLbl;
    }
    
    private JLabel setIcono(String key, String info, boolean seleccionado){
        ImageIcon icono = Utileria.leerRecursoImagen(key, 16);
        JLabel objItem = new JLabel(icono);      
        objItem.setText(info);        
        
        if(seleccionado){
            //this.setOpaque(true);
            //this.setForeground(new Color(255,255,255));
            //this.setBackground(new Color(33,66,99));
            objItem.setOpaque(true);
            objItem.setForeground(new Color(255,255,255));
            objItem.setBackground(new Color(33,66,99));
        }
        else{
            //this.setForeground(new Color(0,0,0));
            //this.setOpaque(false);
            objItem.setForeground(new Color(0,0,0));
            objItem.setOpaque(false);
            
        }        
        
        return objItem;
    }

}
